import 'uno.css'

import { createApp } from 'vue'
import { createPinia } from 'pinia'
import App from './App.vue'
import router from './router'

// 引入 Naive UI
import naive from 'naive-ui'
// 通用字体
import 'vfonts/Lato.css'
// 等宽字体
import 'vfonts/FiraCode.css'

// 引入错误处理
import { errorHandler } from './utils/errorHandler'

const app = createApp(App)
const pinia = createPinia()

// 安装错误处理
errorHandler.installVueErrorHandler(app)
errorHandler.installGlobalErrorHandler()

app.use(pinia)
app.use(router)
app.use(naive)
app.mount('#app')

// 动态设置页面标题 - 通过IPC获取版本信息
interface AppInfo {
  name: string
  displayName: string
  version: string
  author: string
  description: string
}

window.electron?.ipcRenderer.invoke('get-app-info').then((appInfo: AppInfo) => {
  if (appInfo) {
    document.title = `${appInfo.displayName} - v${appInfo.version} - ${appInfo.author}`
  }
})
